package cn.com.jinhao.provider.business.entity;

import lombok.Data;
import lombok.ToString;

import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * hotline-spring-cloud
 * <p>Description: 事件信息对象</p>
 *
 * @author ShaneMew
 * @version 1.0
 * @date 2020/1/13
 * @since 2020-01-13
 */

@ToString
@Data
@Table(name = "BT$EVIF")
public class RecordInfo extends Base implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 申诉时间
     */
    @Column(name = "apdt")
    private Date appealTime;

    /**
     * 申诉号码
     */
    @Column(name = "apph")
    private String appealNumber;

    /**
     * 申诉人
     */
    @Column(name = "apnm")
    private String appealPerson;

    /**
     * 年龄
     */
    @Column(name = "apag")
    private Short appealAge = 0;

    /**
     * 性别
     */
    @Column(name = "sexu")
    private Short sex = 1;

    /**
     * 联系电话
     */
    @Column(name = "ctph")
    private String contactPhone;

    /**
     * 联系地址
     */
    @Column(name = "ctad")
    private String contactAddress;

    /**
     * 事发时间
     */
    @Column(name = "evdt")
    private Date eventDatetime;

    /**
     * 详细地址
     */
    @Column(name = "evad")
    private String detailAddress;

    /**
     * 过期日期
     */
    @Column(name = "evex")
    private Date expireDatetime;

    /**
     * 记录人员编码
     */
    @Column(name = "ST$OPER_CODE")
    private String operCode;

    /**
     * 记录人员
     */
    @Column(name = "ST$OPER_OPER")
    private String operName;

    /**
     * 记录人员部门编码
     */
    @Column(name = "ST$DEPT_CODE")
    private String operDeptCode;

    /**
     * 记录人员部门名称
     */
    @Column(name = "ST$DEPT_DEPT")
    private String operDeptName;

    /**
     * 城市编码
     */
    @Column(name = "SD$ADDR_CODE_0")
    private String cityCode;

    /**
     * 城市
     */
    @Column(name = "SD$ADDR_ADDR_0")
    private String city;

    /**
     * 地区编码
     */
    @Column(name = "SD$ADDR_CODE_1")
    private String areaCode;

    /**
     * 地区
     */
    @Column(name = "SD$ADDR_ADDR_1")
    private String area;

    /**
     * 街道编码
     */
    @Column(name = "SD$ADDR_CODE_2")
    private String streetCode;

    /**
     * 街道
     */
    @Column(name = "SD$ADDR_ADDR_2")
    private String street;

    /**
     * 街道编码
     */
    @Column(name = "SD$ADDR_CODE_3")
    private String provinceCode;

    /**
     * 街道
     */
    @Column(name = "SD$ADDR_ADDR_3")
    private String province;

    /**
     * 街道编码
     */
    @Column(name = "SD$ADDR_CODE_4")
    private String countryCode;

    /**
     * 街道
     */
    @Column(name = "SD$ADDR_ADDR_4")
    private String country;

    /**
     * 事件类别0编码
     */
    @Column(name = "BD$EVTP_CODE_0")
    private String telTypeCode;

    /**
     * 事件类别0
     */
    @Column(name = "BD$EVTP_EVTP_0")
    private String telType;

    /**
     * 事件类别1编码
     */
    @Column(name = "BD$EVTP_CODE_1")
    private String eventCategoryMainCode;

    /**
     * 事件类别1
     */
    @Column(name = "BD$EVTP_EVTP_1")
    private String eventCategoryMain;

    /**
     * 事件类别2编码
     */
    @Column(name = "BD$EVTP_CODE_2")
    private String eventCategorySubCode;

    /**
     * 事件类别2
     */
    @Column(name = "BD$EVTP_EVTP_2")
    private String eventCategorySub;

    /**
     * 事件类型编码
     */
    @Column(name = "BD$EVLS_CODE")
    private String eventTypeCode;

    /**
     * 事件类型
     */
    @Column(name = "BD$EVLS_EVLS")
    private String eventType;

    /**
     * 事件状态编码
     */
    @Column(name = "BD$EVST_CODE")
    private String eventStatusCode;

    /**
     * 事件状态
     */
    @Column(name = "BD$EVST_EVST")
    private String eventStatus;

    /**
     * 事件来源编码
     */
    @Column(name = "BD$IFOG_CODE")
    private String eventSourceCode;

    /**
     * 事件来源
     */
    @Column(name = "BD$IFOG_IFOG")
    private String eventSource;

    /**
     * 派单方式编码
     */
    @Column(name = "BD$ASWY_CODE")
    private String dispatchWayCode;

    /**
     * 派单方式
     */
    @Column(name = "BD$ASWY_ASWY")
    private String dispatchWay;

    /**
     * 紧急程度编码
     */
    @Column(name = "BD$UGLV_CODE")
    private String urgencyLevelCode;

    /**
     * 紧急程度
     */
    @Column(name = "BD$UGLV_UGLV")
    private String urgencyLevel;

    /**
     * 是否派单
     * 0: 否   1： 是
     */
    @Column(name = "isas")
    private Short isDispatch = 0;

    /**
     * 是否接单
     */
    @Column(name = "isac")
    private Short isAccept = 0;

    /**
     * 是否催办
     */
    @Column(name = "isug")
    private Short isUrge = 0;

    /**
     * 是否督办
     */
    @Column(name = "issp")
    private Short isSupervise = 0;

    /**
     * 是否延期
     */
    @Column(name = "isdl")
    private Short isDelay = 0;

    /**
     * 是否反馈
     */
    @Column(name = "isfb")
    private Short isFeedback = 0;

    /**
     * 是否办结
     */
    @Column(name = "isfs")
    private Short isFinish = 0;

    /**
     * 是否超期
     */
    @Column(name = "isep")
    private Short isEpire = 0;

    /**
     * 是否回访
     */
    @Column(name = "isvs")
    private Short isVisit = 0;

    /**
     * 是否疑难
     */
    @Column(name = "iscf")
    private Short isDifficult = 0;

    /**
     * 是否匿名
     */
    @Column(name = "isam")
    private Short isAnonymity = 0;

    /**
     * 是否归档
     */
    @Column(name = "isah")
    private Short isPigeonhole = 0;

    /**
     * 经度
     */
    @Column(name = "blng")
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @Column(name = "blat")
    private BigDecimal latitude;

    /**
     * 录音文件
     */
    @Column(name = "evrd")
    private String recordFile;

    /**
     * 疑难缘由
     */
    @Column(name = "rch1")
    private String difficultCause;

    /**
     * 呈报缘由
     */
    @Column(name = "rch2")
    private String reportCause;

    /**
     * 是否呈报
     */
    @Column(name = "rch3")
    private String isReport;

    /**
     * 事件热词
     */
    @Column(name = "evkw")
    private String keyword;

    /**
     * 信息备注
     */
    @Column(name = "rch6")
    private String infoMemo;

    /**
     * 登录账号数组
     */
    @Column(name = "rch7")
    private String loginArray;

    /**
     * 是否已读
     */
    @Column(name = "rch8")
    private String isRead;

    /**
     * 对接应用编码(新: 第三方编码)
     */
    @Column(name = "thcd")
    private String appCode;

    /**
     * 录音文件ID
     */
    @Column(name = "rdcd")
    private String callId;

    /**
     * 父事件编码
     */
    @Column(name = "mecd")
    private String parentEventCode;
    /**
     * 保留数字1
     */
    @Column(name = "rnb1")
    private String rnb1;

    /**
     * 事件对接同步标志
     */
    @Column(name = "rnb2")
    private Short eventSyncSign;

    /**
     * 省办结数据上报标志
     */
    @Column(name = "rnb3")
    private Short provinceFinshDataSign;

    /**
     * 省事件数据上报标志
     */
    @Column(name = "rnb4")
    private Short provinceEventDataSign;


    /**
     * 事件描述
     */
    @Column(name = "EVIF")
    private String description;

    @Transient
    List<Tape> tapes;
}